#!/usr/bin/env python
from misc.utility.scons_hints import *

Import("env")

env_backtrace = env.Clone()

# Thirdparty source files

thirdparty_obj = []

thirdparty_dir = "#thirdparty/libbacktrace/"
thirdparty_sources = [
    "atomic.c",
    "dwarf.c",
    "fileline.c",
    "posix.c",
    "print.c",
    "sort.c",
    "state.c",
    "backtrace.c",
    "simple.c",
    "pecoff.c",
    "read.c",
    "alloc.c",
]
thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]

env_backtrace.Prepend(CPPEXTPATH=[thirdparty_dir])

env_thirdparty = env_backtrace.Clone()
env_thirdparty.disable_warnings()
env_thirdparty.add_source_files(thirdparty_obj, thirdparty_sources)

env.drivers_sources += thirdparty_obj

# Redot source files

driver_obj = []

env_backtrace.add_source_files(driver_obj, "*.cpp")
env.drivers_sources += driver_obj

# Needed to force rebuilding the driver files when the thirdparty library is updated.
env.Depends(driver_obj, thirdparty_obj)
